草庐IT

2D 地图绘制

全部标签

c# - 在 GDI+ 中绘制坐标的硬界限是什么?

我这样渲染插值曲线:e.Graphics.DrawLines(newPen(Color.Red),_interpolationPoints.ToArray());有时会抛出OverflowException。检查_interpolationPoints数组显示了一些非常大的科学计数值,例如{X=0.0Y=-1.985174E+10}我怀疑Y=-1.985174E+10是GDI+无法处理的值。这很好,但是我可以绘制的最大/最小X和Y值是多少,因此可以限制数据(并警告用户)而不是在绘制期间捕获溢出异常?限制是否记录在案?例如,我想做这样的事情:if(yValfloat.MaxValue)t

c# - 绘制控件时翻转坐标

我正在控件上绘制图形,但0,0位于控件的左上角。有没有办法翻转坐标,使0,0位于控件的左下角? 最佳答案 如果您使用的是WinForms,那么您可能会发现可以使用Graphics.ScaleTransform翻转Y轴:privatevoidScaleTransformFloat(PaintEventArgse){//BegingraphicscontainerGraphicsContainercontainerState=e.Graphics.BeginContainer();//FliptheY-Axise.Graphics.Sc

c# - 在 DrawingContext 中绘制一个实心三角形

这是此question的跟进.问题:我正在尝试使用DrawingContext绘制一个实心三角形,它在DrawingVisual上呈现目前,我已经成功地使用以下C#代码绘制了三角形的轮廓:privateDrawingVisualCreateTriangle(){DrawingVisualtriangle=newDrawingVisual();using(DrawingContextdc=triangle.RenderOpen()){PendrawingPen=newPen(Brushes.Black,3);dc.DrawLine(drawingPen,newPoint(0,50),ne

c# - 两个向量 2D 之间的角度

我正在尝试计算两个向量之间的角度。我试过了,但它总是返回零:publicdoubleGetAngle(Vector2a,Vector2b){doubleangle=Math.Atan2(b.Y,b.X)-Math.Atan2(a.Y,a.X);returnangle;}GetAngle(newVector2(1,1),newVector2(50,50)); 最佳答案 你应该看看atan2(here)的文档。您正在寻找的是找到B(左上向量)和A(右下向量)之间的差异,然后将其作为参数传递给atan2returnMath.Atan2(b

c# - 在 C# 中绘制视频

我正在制作一个应用程序,允许用户应用某些工具来分析视频和图像。我需要帮助我如何在我的表单中加载到WindowsMediaPlayer的视频上实际绘制/写入并能够将其保存。它需要能够让用户在其上徒手绘制和绘制形状。提前致谢,克里斯:) 最佳答案 使用winforms中的wmp控件,这是一项非常重要的任务,即使不是不可能完成的任务。我不知道有什么方法可以实际在wmp上绘图,但您可以在覆盖在wmp上的透明面板上绘图。如果视频正在播放,这将不起作用,但您可以在暂停时显示绘图。我已经使用这种技术来绘制类似于wmp的第3方视频控件。(编辑-这似

C# 绘制三点圆弧

我需要使用GraphicsPath绘制弧线并具有初始点、中间点和终点。电弧必须通过它们。我尝试了.DrawCurve和.DrawBezier,但结果并不完全是一条弧线。我能做什么?解决方案:经过几个小时的代码编写后,我设法用这个算法画出了我想要的东西(给出3点a、b、c和一个GraphicsPath路径):doubled=2*(a.X-c.X)*(c.Y-b.Y)+2*(b.X-c.X)*(a.Y-c.Y);doublem1=(Math.Pow(a.X,2)-Math.Pow(c.X,2)+Math.Pow(a.Y,2)-Math.Pow(c.Y,2));doublem2=(Math.

c# - Unity 4.3 - 2D,如何以编程方式将 Sprite 分配给对象

我正在尝试创建一个负责创建和显示不同Sprite的对象,因此我想以编程方式直接访问Assets/Sprite,而不是将Sprite拖放到该对象下的层次结构中。有一种方法可以通过编程方式创建一个新的Sprite并分配我在Assets文件夹中的内容吗?我还想要一种数据结构,在游戏开始时加载一些图像,一个数组或字典或类似的东西,这样我就可以根据某些情况更改我需要显示的图像。但是让我感到困惑的是,因为我是Unity的新手,所以如何使用Assets文件夹以编程方式引用Sprite来创建Sprite。随进度编辑:我创建了一个像这样的Sprite数组:publicSprite[]mySprites;

c# - 绘制图像时 : System. Runtime.InteropServices.ExternalException: GDI 中发生一般性错误

我有一个从Panel创建的全局图形对象。每隔一定时间从磁盘中拾取图像并使用Graphics.DrawImage()绘制到面板中。它在几次迭代中工作正常,然后我得到以下有用的异常:System.Runtime.InteropServices.ExternalException:AgenericerroroccurredinGDI+.atSystem.Drawing.Graphics.CheckErrorStatus(Int32status)atSystem.Drawing.Graphics.DrawImage(Imageimage,Int32x,Int32y)atSystem.Drawi

网易内部AIGC项目落地长图;Claude开放申请;YC 2023顶级初创公司地图;科研界ChatGPT | ShowMeAI日报

👀日报&周刊合集|🎡生产力工具与行业应用大全|🧡点赞关注评论拜托啦!🤖『YCombinatorWinter2023顶级初创公司市场地图』仅1.4%录取率?!YCombinator(YC)是2005年3月启动的美国科技创业加速器,启动了3000多家公司,包括大名鼎鼎的Airbnb、Coinbase、Dropbox、Quora、Reddit、Stripe等。OpenAI首席执行官SamAltman在创办OpenAI之前,就是创业加速器YC的总裁。LinkedInDrakeDukes根据YC最新3月份的数据,整理了这张YCWinter2023入选的顶级初创公司市场地图。本轮入选的260多家初创公司,

c# - 在 WPF 装饰器中绘制虚线

我在网上找到了几篇关于在WPF中绘制虚线的文章。但是,它们似乎围绕着使用Line类,它是WPF中的UIElement。它是这样的:LinemyLine=newLine();DoubleCollectiondashes=newDoubleCollection();dashes.Add(2);dashes.Add(2);myLine.StrokeDashArray=dashes;现在,我在一个装饰器中,我只能访问一个绘图上下文。在那里,我或多或少地减少了绘图基元、画笔、钢笔、几何图形等。这看起来更像这样:varpen=newPen(newSolidColorBrush(Color.From